1. Field of the Invention
The present invention relates to technology for transmitting and receiving a data stream, which is typified by an MPEG2-TS (Transport Stream), and in particular to technology for transmitting and receiving a data stream via a bus such as the IEEE 1394 serial bus.
2. Description of the Related Art
Two types of communication methods may be used on the IEEE 1394 serial bus, namely isochronous communication, which is used for data stream transfers etc., and asynchronous communication, which is used for the exchanging of commands between devices, etc.
In the IEEE 1394 serial bus, the management of connections between devices is performed using the concept of a logical plug (hereinafter, called simply a “plug”) for logical signal connections, in place of conventional physical signal connections (non-patent document 1: IEC 61883, Consumer audio/video equipment—Digital Interface). Due to being logical rather than physically existing, a plurality of such logical plugs can be defined for input to and output from external devices, regardless of the number of physical connection terminals. Specifically, a PCR (Plug Control Register) is used to manage inter-device connection statuses such as channel, data transfer rate and number of connections, in order to treat a data stream connection by isochronous communication as a plug (non-patent document 2: IEEE std 1394-1995, Standard for a High Performance Serial Bus). This enables defining the same number of plugs as there are sets of a PCR that manages input (hereinafter, called an “iPCR”) and a PCR that manages output (hereinafter, called an “oPCR”).
Also, the concept of a subunit model is used for devices connected to the IEEE 1394 serial bus to disclose their internal structure to each other and enable external control of each other. The subunit model of a device is defined using the concept of a unit and a subunit, where the unit roughly corresponds to the device itself that is to be recognized on the IEEE 1394 serial bus, and the subunit roughly corresponds to a function in the device. The subunit is an element constituting the unit, and the unit is constituted from one or more subunits. Types of subunits include general types such as VCR, Disc, Monitor, and Tuner, as well as Vendor types that each manufacturer can use to independently define functions, and a unit can include two or more subunits. Details of units and subunits are disclosed in, for example, non-patent document 3 (1394 TA, AV/C Digital Interface Command Set General Specification Version 3.0, Apr. 15, 1998).
The structure of a subunit model of a connected device can be found out by issuing a UnitInfo command and a SubunitInfo command, which are defined as AV/C commands, to the connected device.
Also, the number of plug control registers a connected unit has can be found out by issuing a PlugInfo command, which is also an AV/C command.
The devices connected to the IEEE 1394 serial bus reference each others' subunit models, which are defined by the concepts described above, to control the plug assigned to each unit and perform logical connection processing.
Furthermore, patent document 1 (Japanese Patent Publication No. 3080094) discloses technology in which a unit is provided with a plurality of plugs so as to be able to handle the transmission/reception of two or more data streams. Specifically, the subunit model is constituted from one VCR unit as the unit, which includes two VCR subunits, and a separate plug is provided for each of the subunits. This enables an external device to perform recording using the plug whose ID is 0 (hereinafter, called “Plug0”) and that corresponds to the VCR0 subunit, which is one of the subunits, while at the same time, playback to an external device is performed using a plug whose ID is 1 (hereinafter, called “Plug1”) and that corresponds to the VCR1 subunit, which is another subunit.
However, existing commercialized devices generally have not been developed based on the assumption that another connected device includes a plurality of plugs, and most have been designed to be compatible only with other devices that include a single plug. Therefore, even if another device has two plugs, a conventional device including only one plug always tests a connection to Plug0 and determines that a connection with the other device cannot be established if Plug0 is unavailable, regardless of whether Plug1 in the other device is available.
As a result of this situation, even if a new device that can handle a plurality of streams is designed, a plurality of streams cannot be handled simultaneously due to conventional devices.
One method of enabling a plurality of data streams to be input or output over a connection with a conventional device is providing a plurality of units. However, this method requires providing a plurality of entirely independent IEEE 1394 serial bus controllers, and the same number of independent circuits as streams to be handled, which is a problem in terms of cost.